#31、定义一个函数，它可以生成一个字典，其中键是1至20之间的数字
#值是键的平方。函数只输出值即可。
def ABC():
    d=dict()
    for i in range(1,21):
        d[i]=i**2
    for(k,v)in d.items():
        print(v)
ABC()
print('=======================================================')
print('\n')


#32、定义一个函数，它可以生成一个字典，其中键是1至21的数字，值是
#键的平方。函数只打印键即可。
def A():
    d=dict()
    for i in range(1,21):
        d[i]=i**2
    for k in d.keys():
        print(k)
A()
print('=======================================================')
print('\n')


#33、定义一个函数，它可以生成和打印一个列表，其中的值是1至20之
#间的平方。
def B():
    l1=list()
    for i in range(1,21):
        i = i**2 
        l1.append(i)
    print(l1)
B()
print('=======================================================')
print('\n')


#34、定义一个函数，它可以生成一个列表，其中的值是1-20之间的数的
#平方，然后函数需要打印列表中的前5个元素。list名[n1:n2]切片
def C():
    l1=list()
    for i in range(1,21):
        l1.append(i**2)
    print(l1[0:5])    #同效语句：print(l1[:5])
C()
print('=======================================================')
print('\n')


#35、定义一个函数，它可以生成一个列表，其中的值是1-20之间的数的
#平方，然后函数需要打印列表中的最后5个元素。list名[n1:n2]切片
def D():
    l1=list()
    for i in range(1,21):
        l1.append(i**2)
    print(l1[15:21])  #同效语句：print(l1[-5:])
D()
print('=======================================================')
print('\n')


#36、定义一个函数它可以生成一个列表，其中的值是1-20之间数的平方
#然后，该函数需要答应列表中除了前5个元素外的所有元素。
def E():
    l1=list()
    for i in range(1,21):
        l1.append(i**2)
    print(l1[5:])
E()
print('=======================================================')
print('\n')


#37、定义一个函数，它可以生成并打印一个元组，其中的值是1-20数的
#平方。tuple()
def F():
    l1=list()
    for i in range(1,21):
        l1.append(i**2)
    t1=tuple(l1)
    print(t1)
F()
print('=======================================================')
print('\n')


#38、对于给定的元组(1,2,3,4,5,6,7,8,9,10)，编写一个程序，在一行
#中输出前半部分值，在一行中输出后半部分值。
tp=(1,2,3,4,5,6,7,8,9,10)
tp1=tp[:5]
tp2=tp[5:]
print(tp1)
print(tp2)
print('=======================================================')
print('\n')


#39、编写程序生成并输出另一个元组，其值是给定元组(1,2,3,4,5,6,7,8,9,10)
#中的偶数。
tp=(1,2,3,4,5,6,7,8,9,10)
li=list()
for i in range(len(tp)):
    if tp[i]%2==0:
        li.append(tp[i])
tp2=tuple(li)
print(tp2)
print('=======================================================')
print('\n')


#40、写一个程序，接收一个字符串作为输入，如果字符串是yes或YES
#或Yes，否则打印No
print('40、请输入一个表示“是的”的英文单词：')
s=input()
if s=='yes' or s=='YES' or s=='Yes':
    print('Yes')
else:
    print('No')
print('=======================================================')
print('\n')


#41、编写一个程序，可以使用过滤函数过滤列表中的偶数。
#列表是：[1,2,3,4,5,6,7,8,9,10]   filter()  lambda定义匿名函数
li=[1,2,3,4,5,6,7,8,9,10]
evennumbers=filter(lambda x:x%2==0,li)
for even in evennumbers:
    print(even)
print('=======================================================')
print('\n')


#42、编写一个程序，可以使用map()构造一个列表，其中的元素是
#[1,2,3,4,5,6,7,8,9,10]中元素的平方。map()生成列表。
li=[1,2,3,4,5,6,7,8,9,10]
sq=map(lambda x:x**2,li)   #这行的sq只是一个map对象，不是列表
sq=list(sq)                #转换成列表
print(sq)
print('=======================================================')
print('\n')


#43、编写一个程序，它可以map()和filter()生成一个列表，其中的元
#素是[1,2,3,4,5,6,7,8,9,10]中的偶数的平方。
li=[1,2,3,4,5,6,7,8,9,10]
l1=list(filter(lambda x:x%2==0,li))
l2=list(map(lambda x:x**2,l1))
print('43、')
print(l2)
print('=======================================================')
print('\n')


#44、编写一个程序，它可以使用map()生成一个列表，其中的元素是
#1-20之间的数的平方
list1=list()
for i in range(1,21):
    list1.append(i)
    l2=list(map(lambda x:x**2,list1))
print('44、')
print(l2)
#方法二：
swq=list(map(lambda x:x**2,range(1,21)))
print(swq)
print('=======================================================')
print('\n')


#45、定义一个名为American的类，它有一个名为printNationality
#的静态方法。    @staticmethod装饰器赖定义类的静态方法。
class American(object):
    @staticmethod
    def printNationality():
        print('American')
anAmerican = American()
print('45、')
anAmerican.printNationality()
American.printNationality()









